#ifdef SU1
#define _GLIBCXX_DEBUG
#endif

#include <algorithm>
#include <bitset>
#include <cassert>
#include <climits>
#include <cstring>
#include <cstdio>
#include <ctime>
#include <cstdlib>
#include <cmath>
#include <fstream>
#include <iostream>
#include <iomanip>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <stack>
#include <set>
#include <string>
#include <utility>
#include <vector>

using namespace std;

#define forn(i, n) for (int i = 0; i < int(n); i++)
#define forl(i, n) for (int i = 1; i <= int(n); i++)
#define ford(i, n) for (int i = int(n) - 1; i >= 0; i--)
#define fore(i, l, r) for (int i = int(l); i <= int(r); i++)
#define pb(a) push_back(a)
#define mp(x, y) make_pair((x), (y))
#define sz(a) (int) (a).size()
#define all(a) (a).begin(), (a).end()
#define ft first
#define sc second
#define x first
#define y second

template<typename X> inline X abs(const X& a) { return a < 0 ? -a : a; }
template<typename X> inline X sqr(const X& a) { return a * a; }

typedef long long li;
typedef long double ld;
typedef pair<int, int> pt;

const int INF = int(1e9);
const li INF64 = li(1e18);
const ld PI = acosl(ld(-1));
const ld EPS = 1e-9;

int perm[7][7] = {
{12, 11, 13, 0, 1, 2, 3},
{11, 10, 0, 1, 9, 3, 4},
{13, 0, 14, 2, 3, 15, 5},
{0, 1, 2, 3, 4, 5, 6},
{1, 9, 3, 4, 8, 6, 7},
{2, 3, 15, 5, 6, 16, 17},
{3, 4, 5, 6, 7, 17, 18},
};

char s[130];

inline bool read()
{
	if (scanf("%s", s) != 1 || s[0] == '#') return false;
	return true;
}

inline bool check (int mask)
{
	int nmask = 0;
	char firVal = 0;
	forn(i, 7)
	{
		int curmask = 0;
		forn(j, 7)
			if (mask & (1 << perm[i][j]))
				curmask |= (1 << j);
		if (s[curmask] == '1') nmask |= (1 << i);
		if (i == 3) firVal = s[curmask];
	}
	return firVal == s[nmask];
}

inline void solve()
{
	forn(mask, (1 << 19)) if (!check(mask))
	{
		puts("no");
		return;
	}
	puts("yes");
}

int main()
{
#ifdef SU1
	assert(freopen("input.txt", "rt", stdin));
//	assert(freopen("output.txt", "wt", stdout));
#endif

	cout << fixed << setprecision(10);
	cerr << fixed << setprecision(5);

	while (read())
		solve();
	
#ifdef SU1
	cerr << "=== TIME : " << clock() << " ===" << endl;
#endif
	return 0;
}
